/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ideastec.mipyme.persistence.provincia;

import java.util.List;

import com.ideastec.mipyme.persistence.DAOPadre;
import com.ideastec.mipyme.model.Pais.Pais;
import com.ideastec.mipyme.model.provincia.Provincia;
import com.ideastec.mipyme.repository.provincia.RepositorioProvincia;


/**
 *
 * @author Diego Rafael Graf
 */
public class DAOProvincia extends DAOPadre<Provincia> implements RepositorioProvincia{
    
    @Override 
    protected Class<Provincia> getClase(){
        return Provincia.class;
    }
    
    @Override 
    public List<Provincia> buscarProvincia(Provincia provincia) throws Exception{
        try{
            return this.getHibernateTemplate().find("from " + persistentClass.getName() + " where nombre = '" + provincia.getNombre() + "'");
        }
        catch(Exception e){
            throw new Exception(e);
        }
    }
    
    @Override 
    public List<Provincia> buscarProvinciaPorPais(Provincia provincia) throws Exception{
        try{
            return this.getHibernateTemplate().find("from " + persistentClass.getName() + " where nombre = '" + provincia.getNombre() + "' and IDPAIS = " + provincia.getPais().getId() + "order by nombre asc");
        }
        catch(Exception e){
            throw new Exception(e);
        }
    }
    
    @Override 
    public List<Provincia> listarProvinciasPorPais(Pais pais) throws Exception{
        try{
            return this.getHibernateTemplate().find("from " + persistentClass.getName() + " where idpais = '" + pais.getId() + "'");
        }
        catch(Exception e){
            throw new Exception(e);
        }
    }
    
}

